import Shell from 'gi://Shell';
import * as Config from '../misc/config.js';
+import {emitSignalToDestination} from '../misc/dbusUtils.js';
import * as Main from './main.js';
import * as MessageTray from './messageTray.js';
notificationClosedReason = NotificationClosedReason.UNDEFINED;
break;
}
- this._emitNotificationClosed(id, notificationClosedReason);
+ this._emitNotificationClosed(id, notificationClosedReason, invocation);
notification.disconnectObject(this);
});
}
hasDefaultAction = true;
} else {
notification.addAction(label, () => {
- this._emitActivationToken(source, id);
- this._emitActionInvoked(id, actionId);
+ this._emitActivationToken(source, id, invocation);
+ this._emitActionInvoked(id, actionId, invocation);
});
}
}
if (hasDefaultAction) {
notification.connectObject('activated', () => {
- this._emitActivationToken(source, id);
- this._emitActionInvoked(id, 'default');
+ this._emitActivationToken(source, id, invocation);
+ this._emitActionInvoked(id, 'default', invocation);
}, this);
} else {
notification.connectObject('activated', () => {
];
}
- _emitNotificationClosed(id, reason) {
- this._dbusImpl.emit_signal('NotificationClosed',
+ _emitNotificationClosed(id, reason, invocation) {
+ const sender = invocation.get_sender();
+ emitSignalToDestination(this._dbusImpl, sender, 'NotificationClosed',
GLib.Variant.new('(uu)', [id, reason]));
}
- _emitActionInvoked(id, action) {
- this._dbusImpl.emit_signal('ActionInvoked',
+ _emitActionInvoked(id, action, invocation) {
+ const sender = invocation.get_sender();
+ emitSignalToDestination(this._dbusImpl, sender, 'ActionInvoked',
GLib.Variant.new('(us)', [id, action]));
}
- _emitActivationToken(source, id) {
+ _emitActivationToken(source, id, invocation) {
+ const sender = invocation.get_sender();
const context = global.create_app_launch_context(0, -1);
const token = context.get_startup_notify_id(null, []);
- this._dbusImpl.emit_signal('ActivationToken',
+ emitSignalToDestination(this._dbusImpl, sender, 'ActivationToken',
GLib.Variant.new('(us)', [id, token]));
}
}